package com.fliad.ai.entity;

import lombok.Data;
import org.dromara.autotable.annotation.AutoColumn;
import org.dromara.autotable.annotation.AutoTable;
import org.dromara.autotable.annotation.PrimaryKey;

import java.util.Date;

/**
 * @author [你的名字]
 * @date 2025年05月10日
 */
@Data
@AutoTable(comment = "AI大模型表")
public class AiLlm {
    @PrimaryKey()
    private Long id;

    @AutoColumn(length = 128, comment = "标题或名称")
    private String title;

    @AutoColumn(length = 32, comment = "方言")
    private String dialect;

    @AutoColumn(length = 256, comment = "ICON")
    private String icon;

    @AutoColumn(length = 512, comment = "描述")
    private String description;

    @AutoColumn(comment = "是否支持对话")
    private Boolean supportChat;

    @AutoColumn(comment = "是否支持方法调用")
    private Boolean supportFunctionCalling;

    @AutoColumn(comment = "是否支持向量化")
    private Boolean supportEmbed;

    @AutoColumn(comment = "是否支持重排")
    private Boolean supportReranker;

    @AutoColumn(comment = "是否支持文字生成图片")
    private Boolean supportTextToImage;

    @AutoColumn(comment = "是否支持图片生成图片")
    private Boolean supportImageToImage;

    @AutoColumn(comment = "是否支持文字生成语音")
    private Boolean supportTextToAudio;

    @AutoColumn(comment = "是否支持语音生成语音")
    private Boolean supportAudioToAudio;

    @AutoColumn(comment = "是否支持文字生成视频")
    private Boolean supportTextToVideo;

    @AutoColumn(comment = "是否支持图片生成视频")
    private Boolean supportImageToVideo;

    @AutoColumn(length = 128, comment = "大模型请求地址")
    private String llmEndpoint;

    @AutoColumn(length = 64, comment = "大模型名称")
    private String llmModel;

    @AutoColumn(length = 128, comment = "大模型API KEY")
    private String llmApiKey;

    private Date created;
    private Long createdBy;
    private Date modified;
    private Long modifiedBy;
}
